goto out;
}
- /* Fall back to filename based setting here due to lack of lsetxattrat */
if (xattrs)
{
- gs_unref_object GFile *path = g_file_get_child (destination_parent, destination_name);
- if (!gs_file_set_all_xattrs (path, xattrs, cancellable, error))
+ if (!gs_dfd_and_name_set_all_xattrs (destination_dfd, destination_name,
+ xattrs, cancellable, error))
goto out;
}
}
if (xattrs)
{
- gs_unref_object GFile *temp_path = g_file_get_child (destination_parent, temp_filename);
- if (!gs_file_set_all_xattrs (temp_path, xattrs, cancellable, error))
+ if (!gs_dfd_and_name_set_all_xattrs (destination_dfd, destination_name,
+ xattrs, cancellable, error))
goto out;
}
}
goto out;
}
- /* Sadly we can't use at-relative API for symlink xattrs
- * because there's no lsetxattrat.
- */
if (xattrs != NULL)
{
- if (!gs_file_set_all_xattrs (temp_file, xattrs, cancellable, error))
+ if (!gs_dfd_and_name_set_all_xattrs (self->tmp_dir_fd, temp_filename,
+ xattrs, cancellable, error))
goto out;
}
}